/* Autore: Nicola Agosti */
/*
Scrivere un programma che chieda all'utente di inserie due numeri e ne effettui, se possibile, la divisione.
Se la divisione è possibile il programma deve visualizzarne il risultato, in caso contrario deve visualizzare
un opportuno messaggio di errore.
*/

#define _CRT_SECURE_NO_WARNINGS

#include <stdio.h>
#include <stdlib.h>

int main()
{
	/* Dichiarazione delle variabili */
	float dividendo, divisore, quoziente;

	/* Input */
	printf("Inserisci il dividendo: ");
	scanf("%f", &dividendo);

	printf("Inserisci il divisore: ");
	scanf("%f", &divisore);

	/* Verifico che si possa eseguire l'operazione => il divisore DEVE essere diverso da zero! */
	/* 
	La SELEZIONE: è il costrutto che devo usare quando devo fare una scelta tra due possibilità.
	La sintassi per implementare la SELEZIONE è la seguente:
	  
	  if(condizione)
	  {
		 !!! Istruzioni che verranno eseguite SOLO se la "condizione" sarà vera !!!
	  }

	La condizione è un'espressione logica di confronto tra valori che può ritornare solo due risposte (VERO o FALSO)
	e che utilizza i seguenti operatori di confronto: <, >, <=, >=, ==, !=

	N.B. Il costrutto "if" non deve essere terminato dal ";" perchè aprire un nuovo blocco di codice
	delimitato da una coppia di parentesi graffe!
	*/

	/* La condizione "divisore == 0" ritorna come risultato VERO
	solo se il valore contenuto in "divisore" è uguale a zero */
	if (divisore == 0)
	{
		/* Se la condizione è VERA => il divisore è zero => non posso effettuare la divisione 
		=> ritorno un messaggio di errore */
		printf("\nERRORE: si sta tentando di dividere per ZERO!!!");
	}


	/* La condizione "divisore != 0" ritorna come risultato VERO 
	solo se il valore contenuto in "divisore" è diverso da zero */
	if (divisore != 0)
	{
		/* Se la condizione è VERA => il divisore è diverso zero => posso effettuare la divisione 
		=> eseguo la divisione e visualizzo il risultato */
		quoziente = dividendo / divisore;

		/* Output */
		printf("\nIl quoziente e\' %f", quoziente);
	}

	return 0;
}